home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
pcboard
/
read100.zip
/
ENTER.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-05-23
|
4KB
|
321 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.3O (Encryption type II) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Integer INTEGER001
Integer INTEGER002
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String TSTRING006(10)
Declare Procedure PROC001(Var String STRING007, Integer INTEGER003, Boolean BOOLEAN003)
;------------------------------------------------------------------------------
If (TokCount() > 0) Then
STRING004 = Trim(Upper(GetToken()), " ")
If (STRING004 == "ALL") Then
BOOLEAN002 = 1
Endif
Endif
GetUser
StartDisp 1
DispFile PPEPath() + "ENTER", 4
STRING005 = PPEPath() + "DATA\" + Strip(Left(U_Name(), 4) + Right(U_Name(), 4), " ")
If (Exist(STRING005)) Goto LABEL001
AnsiPos 40, 10
PrintLn "@X0CNo address book found, type BOOK"
AnsiPos 40, 11
PrintLn "@X0Cfrom the main menu to create one"
Goto LABEL004
:LABEL001
INTEGER001 = 1
FOpen 1, STRING005, 0, 0
:LABEL002
If (Ferr(1)) Goto LABEL003
FGet 1, TSTRING006(INTEGER001)
INTEGER001 = INTEGER001 + 1
Goto LABEL002
:LABEL003
FClose 1
INTEGER002 = INTEGER001 - 2
AnsiPos 51, 7
Print "@X08[@X0F@X08/@X0F@X07 to select names@X08]"
:LABEL004
If (BOOLEAN002) Goto LABEL005
AnsiPos 50, 4
PROC001(STRING001, 24, 1)
:LABEL005
If ((STRING001 == "") || (STRING001 == "ALL")) Then
AnsiPos 50, 4
Print "@X0FALL"
AnsiPos 40, 6
Print " "
BOOLEAN001 = 1
STRING003 = "N"
Endif
If (Exist(STRING005)) Goto LABEL006
AnsiPos 40, 10
PrintLn " "
AnsiPos 40, 11
PrintLn " "
Goto LABEL007
:LABEL006
AnsiPos 62, 6
Print " "
AnsiPos 51, 7
Print " "
:LABEL007
AnsiPos 50, 5
PROC001(STRING002, 24, 0)
If (STRING002 == "") Then
AnsiPos 1, 15
Wait
End
Endif
If (BOOLEAN001) Goto LABEL011
AnsiPos 50, 6
Gosub LABEL013
BOOLEAN001 = 0
While (BOOLEAN001 == 0) Do
STRING003 = Upper(Inkey())
If (Upper(STRING003) == "N") Then
Gosub LABEL013
BOOLEAN001 = 1
Endif
If (Upper(STRING003) == "Y") Then
Gosub LABEL012
BOOLEAN001 = 1
Endif
If (STRING003 == "LEFT") Then
If (INTEGER001 == 1) Then
Gosub LABEL013
Goto LABEL008
Endif
Gosub LABEL012
Endif
:LABEL008
If (STRING003 == "RIGHT") Then
If (INTEGER001 == 1) Then
Gosub LABEL013
Goto LABEL009
Endif
Gosub LABEL012
Endif
:LABEL009
If (STRING003 == Chr(13)) Then
If (INTEGER001 == 1) Then
STRING003 = "Y"
Goto LABEL010
Endif
STRING003 = "N"
:LABEL010
BOOLEAN001 = 1
Endif
EndWhile
If (STRING003 == "Y") Then
STRING003 = "R"
Else
STRING003 = "N"
Endif
:LABEL011
AnsiPos 1, 15
KbdStuff "E^M" + STRING001 + "^M" + STRING002 + "^M" + STRING003 + "^M"
End
:LABEL012
AnsiPos 50, 6
Print "@X0FNO"
AnsiPos 56, 6
Print "@X1FYES@X0F"
INTEGER001 = 1
Return
:LABEL013
AnsiPos 56, 6
Print "@X0FYES"
AnsiPos 50, 6
Print "@X1FNO@X0F"
INTEGER001 = 2
Return
End
;------------------------------------------------------------------------------
Procedure PROC001(Var String STRING007, Integer INTEGER003, Boolean BOOLEAN003)
String STRING008
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
STRING007 = ""
INTEGER004 = 0
:LABEL014
If (BOOLEAN003) Then
STRING008 = Upper(Inkey())
Else
STRING008 = Inkey()
Endif
If (BOOLEAN003) Then
If (Len(STRING008) > 1) Then
If (INTEGER005 == 0) Then
TSTRING006(0) = STRING007
Endif
If (STRING008 == "UP") Then
If (INTEGER005 > 0) Then
TSTRING006(INTEGER005) = STRING007
INTEGER005 = INTEGER005 - 1
AnsiPos 50, 4
Print "@X08························"
AnsiPos 50, 4
Print "@X0F" + TSTRING006(INTEGER005)
INTEGER004 = Len(TSTRING006(INTEGER005))
STRING007 = TSTRING006(INTEGER005)
INTEGER006 = GetX()
INTEGER007 = GetY()
AnsiPos 62, 6
Print "@X0FRe@X07cord # @X08[@X0F" + String(INTEGER005) + "@X08] "
AnsiPos INTEGER006, INTEGER007
Endif
Endif
If (STRING008 == "DOWN") Then
If (INTEGER005 < INTEGER002) Then
TSTRING006(INTEGER005) = STRING007
INTEGER005 = INTEGER005 + 1
AnsiPos 50, 4
Print "@X08························"
AnsiPos 50, 4
Print "@X0F" + TSTRING006(INTEGER005)
INTEGER004 = Len(TSTRING006(INTEGER005))
STRING007 = TSTRING006(INTEGER005)
INTEGER006 = GetX()
INTEGER007 = GetY()
AnsiPos 62, 6
Print "@X0FRe@X07cord # @X08[@X0F" + String(INTEGER005) + "@X08] "
AnsiPos INTEGER006, INTEGER007
Endif
Endif
Endif
Endif
TSTRING006(INTEGER005) = STRING007
If (STRING008 == Chr(13)) Goto LABEL015
If (STRING008 == Chr(29)) Goto LABEL014
If (STRING008 == Chr(8)) Then
If (INTEGER004 == 0) Goto LABEL014
INTEGER004 = INTEGER004 - 1
Backup 1
Print "@X08·"
Backup 1
STRING007 = Left(STRING007, INTEGER004)
Goto LABEL014
Endif
If (!(Len(STRING008) == 1)) Goto LABEL014
If (Asc(STRING008) < 31) Goto LABEL014
If (INTEGER004 == INTEGER003) Goto LABEL014
STRING007 = STRING007 + STRING008
INTEGER004 = INTEGER004 + 1
Print "@X08", STRING008
Backup 1
Delay 1
Print "@X07", STRING008
Backup 1
Delay 1
Print "@X0F", STRING008
Goto LABEL014
:LABEL015
STRING007 = Trim(TSTRING006(INTEGER005), " ")
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 1 Wait
; 45 Goto
; 42 Let
; 19 Print
; 4 PrintLn
; 34 If
; 1 DispFile
; 1 FOpen
; 1 FClose
; 1 FGet
; 1 StartDisp
; 1 GetUser
; 7 Gosub
; 2 Return
; 2 Delay
; 1 KbdStuff
; 26 AnsiPos
; 4 Backup
; 1 EndProc
;
;
; ■ Functions used :
;
; 20 +
; 3 -
; 23 ==
; 2 <
; 3 >
; 29 !
; 1 ||
; 4 Len(
; 5 Upper()
; 2 Left()
; 1 Right()
; 1 Ferr()
; 4 Chr()
; 1 Asc()
; 2 Trim()
; 2 U_Name()
; 1 Strip()
; 3 Inkey()
; 2 String()
; 2 PPEPath()
; 1 GetToken()
; 2 Exist()
; 2 GetX()
; 2 GetY()
; 1 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 1 While/EndWhile
; 22 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------